题目地址 (opens new window)

  • 🙂 第一次练习 2020年4月15日 先排序后合并 有一些小问题需要注意一下
  • 😄 第二次练习

# 解题方法

解题代码

class Solution {
    public int[][] merge(int[][] intervals) {
        List<int[]> res = new ArrayList<>();
        if (intervals == null || intervals.length == 0) {
            return res.toArray(new int[0][]);
        }
        Arrays.sort(intervals, (a, b) -> a[0] - b[0]);

        int i = 0;
        while(i < intervals.length) {
            int left = intervals[i][0];
            int right = intervals[i][1];
            while(i < intervals.length - 1 && intervals[i + 1][0] <= right) {
                i ++;
                right = Math.max(right, intervals[i][1]);
            }
            res.add(new int[]{left, right});
            i ++;
        }

        return res.toArray(new int[0][]);
    }
}

# 易错点

  • 易错项 1
最后编辑时间: 7/12/2020, 11:51:54 AM